/*
 * $Id: IGameMap.java 23 2009-03-31 23:37:36Z aaron.day $
 */
package org.crazydays.gameplan.map;


import java.awt.image.BufferedImage;
import java.util.Set;

import org.crazydays.gameplan.map.location.Location;

/**
 * IGameMap interface for a game map.
 */
public interface IGameMap
        extends Comparable<IGameMap>
{
	/**
	 * Set name.
	 * 
	 * @param name Name
	 */
	public void setName(String name);

	/**
	 * Get name.
	 * 
	 * @return Name
	 */
	public String getName();

	/**
	 * Set image.
	 * 
	 * @param image Image
	 */
	public void setImage(BufferedImage image);

	/**
	 * Get image.
	 * 
	 * @return Image
	 */
	public BufferedImage getImage();

	/**
	 * Set geometry.
	 * 
	 * @param geomentry Geometry
	 */
	public void setGeometry(Geometry geomentry);

	/**
	 * Get geometry.
	 * 
	 * @return Geometry
	 */
	public Geometry getGeometry();

	/**
	 * Set locations.
	 * 
	 * @param locations Locations
	 */
	public void setLocations(Set<Location> locations);

	/**
	 * Get locations.
	 * 
	 * @return Location
	 */
	public Set<Location> getLocations();
}
